package review.Day_0405;

import java.util.*;

/**
 * @author zxc
 * @date 2023/04/05 21:32
 **/
public class Solution02 {
    // 思路 ：即，使用集合来存储所有队列元素
    List<Integer> list;
    public Solution02() {
        // list集合，底层数据结构必须是数组，主要是为了方便向队列中间插入元素;
        list = new ArrayList<>();
    }

    public void pushFront(int val) {
        list.add(0 , val);
    }

    public void pushMiddle(int val) {
        // 获取list集合的中部元素;
        int middle = list.size() / 2;
        list.add(middle , val);
    }

    public void pushBack(int val) {
        list.add(val);
    }

    public int popFront() {
        if(list.isEmpty()){
            return -1;
        }
        return list.remove(0);
    }

    public int popMiddle() {
        if(list.isEmpty()){
            return -1;
        }
        int middle = (list.size() - 1) / 2;
        return list.remove(middle);
    }

    public int popBack() {
        if(list.isEmpty()){
            return -1;
        }
        int len = list.size() - 1;
        return list.remove(len);
    }
}
